// /**
//  * 数据管理器：
//  * 1. 持久化存储（localStorage）→ 跨页/刷新不丢失
//  * 2. 统一公式计算（如 今日充电 = 今日用电 * 1.1）
//  * 3. 定时更新 + 手动更新
//  */
// // 启动时初始化数据（优先用本地存储，否则生成新数据），并设置定时更新和跨页同步机制。
// class DataManager {
//     constructor() {
//         // 每日清除localStorage逻辑（每天0点后首次加载时执行）
//         this.handleDailyClear();
//
//         //测试用
//         //测试用
//         // 手动清除浏览器存储的数据（仅测试用）
//         localStorage.removeItem('chargeData');
//         localStorage.removeItem('lastClearDate');
//         localStorage.removeItem('previousDayData');
//         // 打印清除后的值（此时应为 null）
//         console.log('清除后的数据：');
//         console.log('chargeData:', localStorage.getItem('chargeData'));       // 预期输出：null
//         console.log('lastClearDate:', localStorage.getItem('lastClearDate')); // 预期输出：null
//         console.log('previousDayData:', localStorage.getItem('previousDayData')); // 预期输出：null
//
//         const stored = localStorage.getItem('chargeData');
//         console.log('localStorage读取的值：', stored); // 打印是否能读取到数据
//
//         if (stored) {
//             this.data = JSON.parse(stored); // 如果有存储的数据，则使用它
//         } else {
//             this.data = this.generateInitialData(); // 否则生成初始数据
//             // // 记录初始耗电量
//             // this.initialPower = this.data.power;
//             // localStorage.setItem('initialPower', this.initialPower);
//             // console.log('初始耗电量：', this.initialPower);
//         }
//
//         ///数据跳动
//         //持久化数据
//         localStorage.setItem('chargeData', JSON.stringify(this.data));
//         console.log('强制初始化后的数据：', this.data);
//
//
//         //关闭，跳动只在网页打开时有用
//         // // 定时更新（1分钟一次，可调整）
//         // if(this.data.power < 2777.77) {
//         //     this.interval = setInterval(() => this.jumpData(), 60000);
//         //     //每500分钟更新一次用户数也就是订单数
//         //     if(this.data.orders < 30) {
//         //         this.interval = setInterval(() => this.jumpOrder(), 500 * 60 * 1000);
//         //     }
//         // }
//
//
//         // 跨页同步：监听其他页面修改 localStorage
//         window.addEventListener('storage', (e) => {
//             if (e.key === 'chargeData') {
//                 this.data = JSON.parse(e.newValue);
//                 this.onUpdate?.(this.data); // 通知当前页面更新
//             }
//         });
//     }
//
//
//     // 初始化虚拟数据（仅首次执行），首次加载时，随机生成基础数据
//     generateInitialData() {
//         const users = Math.floor(Math.random() * 16) + 15; // 充电用户（15-30）
//
//         // 根据 dailyIncome 计算 power
//         const power = (Math.random() * (2777.77 - 992.06) + 992.06); // 耗电量  992.06 - 2777.77
//         const dailyIncome = power * 0.72 * 0.7; // 转换为数字
//
//         //昨日统计的数据
//         // const oldusers = Math.floor(Math.random() * 16) + 15; // 充电用户（15-30）
//         const oldpower = (Math.random() * (2777.77 - 992.06) + 992.06); // 耗电量  992.06 - 2777.77
//         const oldusers = this.getUsersFromPower(oldpower);
//         console.log('耗电量和用户数', oldpower, oldusers);
//
//
//
//         return {
//             // 首页数据
//             dailyIncome: dailyIncome, // 今日结算收益
//             power: power, // 耗电量，保留两位小数
//             users: users, // 充电用户
//             orders: users, // 订单（与 users 相同）
//
//             // 汽车页数据（关联首页公式）
//             totalIncome: Math.random() * 20000 + 5000, // 总收益
//             dailyElectricity: power, // 今日用电（关联首页耗电量）
//             dailyCharge: power * 1.1, // 今日充电 = 今日用电 * 1.1（动态计算）
//             dailyElectricityFee: power * 0.8,    //今日电费 = 今日用电 * 0.8
//             dailyServiceFee: dailyIncome, // 今日服务费 = 今日结算收益
//             chargeUsers: users, // 今日充电人数（关联首页充电用户）
//
//             //我的界面可提现金额
//             withdrawableAmount: Math.random() * (51000 - 25000) + 25000,
//
//             //首页 昨日统计数据
//             oldusers: oldusers,             //昨日充电用户
//             oldorders: oldusers,            //昨日订单
//             oldpower: oldpower,             //昨日耗电量
//             oldshouyi: oldpower * 0.72 * 0.7,          //昨日收益
//
//
//
//             // 固定数据
//             deviceCount: 10, // 设备数量
//             onlineCount: 10, // 在线数量
//             lastUpdate: new Date().getTime()
//         };
//     }
//
//     // 【关键】统一计算关联数据（所有页面共享公式），通过固定公式将首页基础数据与汽车页关联数据绑定，确保数据逻辑一致
//     calculateRelations() {
//         // 首页→汽车页 关联：今日用电复用首页耗电量
//         this.data.dailyElectricity = this.data.power;
//         // 公式：今日充电 = 今日用电 * 1.1
//         this.data.dailyCharge = this.data.dailyElectricity * 1.1;
//         // 公式：今日服务费 = 今日用电 * 0.72 * 0.7
//         this.data.dailyServiceFee = this.data.dailyIncome;
//         //今日电费
//         this.data.dailyElectricityFee = this.data.dailyElectricity * 0.8;
//         // 充电人数复用首页用户数
//         this.data.chargeUsers = this.data.users;
//     }
//
//     // 定时/手动更新数据
//     // updateData() {
//     //     // 1. 随机更新基础数据（仅更新变化的字段）
//     //     // this.data.dailyIncome = Math.random() * 1000 + 500;
//     //     this.data.power = Math.random() * (2777.77 - 992.06) + 992.06;
//     //     this.data.dailyIncome = this.data.power * 0.72 * 0.7;
//     //     this.data.users = Math.floor(Math.random() * 16) + 15;
//     //     this.data.orders = this.data.users; // 订单 = 充电用户（业务逻辑）
//     //     this.data.totalIncome = Math.random() * 20000 + 5000;
//     //
//     //     this.data.withdrawableAmount = Math.random() * (51000 - 25000) + 25000;
//     //
//     //
//     //     // 2. 统一计算关联数据（保证公式唯一）
//     //     this.calculateRelations();
//     //
//     //     // 3. 持久化到 localStorage（触发跨页同步）
//     //     localStorage.setItem('chargeData', JSON.stringify(this.data));
//     //
//     //     // 4. 通知当前页面更新（如果有监听）
//     //     this.onUpdate?.(this.data);
//     // }
//
//     // 获取当日已过时间比例（0-1）
//     getDayProgress() {
//         const now = new Date();
//         const startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate()); // 今日0点
//         const millisecondsPassed = now - startOfDay;
//         const totalMillisecondsInDay = 24 * 60 * 60 * 1000; // 86400000毫秒
//         return Math.min(1, millisecondsPassed / totalMillisecondsInDay); // 确保不超过1
//     }
//
//     // 每日清除localStorage（仅一次）
//     handleDailyClear() {
//         const lastClearDate = localStorage.getItem('lastClearDate');
//         const today = new Date().toDateString(); // 格式："Wed Jul 05 2023"
//
//         // 打印当前的 localStorage 值
//         console.log('lastClearDate:', lastClearDate);
//         console.log('chargeData:', localStorage.getItem('chargeData'));
//
//         // 如果是新的一天，清除数据并记录日期
//         if (!lastClearDate || lastClearDate !== today) {
//             localStorage.removeItem('chargeData');
//             localStorage.setItem('lastClearDate', today);
//             console.log('每日清除完成，当前日期：', today);
//
//             // 打印清除后的 localStorage 值（可选）
//             console.log('清除后的 localStorage:');
//             console.log('lastClearDate:', localStorage.getItem('lastClearDate'));
//             console.log('chargeData:', localStorage.getItem('chargeData')); // 此时应为 null
//         }
//     }
//
//     // 获取当前数据（供页面初始化）
//     getSharedData() {
//         return this.data;
//     }
//
//     // 注册更新回调（页面监听数据变化）
//     onDataUpdate(callback) {
//         this.onUpdate = callback;
//     }
//
//     // 销毁定时器（页面卸载时调用，可选）
//     destroy() {
//         clearInterval(this.interval);
//     }
//
//     //根据耗电量来确定用户数量
//     getUsersFromPower(power) {
//         // 耗电量范围
//         const minPower = 992.06;
//         const maxPower = 2777.77;
//         // 目标用户数范围
//         const minUsers = 15;
//         const maxUsers = 30;
//
//         // 线性映射公式：将power从[minPower, maxPower]映射到[minUsers, maxUsers]
//         const ratio = (power - minPower) / (maxPower - minPower);
//         const users = minUsers + ratio * (maxUsers - minUsers);
//
//         // 取整并确保在范围内（防止计算误差）
//         return Math.round(Math.max(minUsers, Math.min(maxUsers, users)));
//     }
//
//     //数据跳动函数
//     jumpData() {
//         // 每分钟更新耗电量和收益
//         this.data.power += 0.11; // 每分钟耗电增加0.11
//         this.data.dailyIncome += 0.059; // 每分钟收益增加0.059
//
//         // // 检查耗电量是否增加了55度
//         // if (this.data.power >= localStorage.getItem('initialPower') + 55) {
//         //     this.data.orders += 1; // 增加一个订单
//         // }
//
//         this.data.users = this.data.orders;
//
//         // 更新汽车页
//         this.data.totalIncome += 0.11;
//         this.data.dailyCharge += 0.121;
//         this.data.dailyElectricity =this.data.power;
//         this.data.dailyElectricityFee += 0.088;
//         this.data.dailyServiceFee = this.data.dailyIncome;
//         this.data.chargeUsers = this.data.orders;
//
//         //更新我的页面
//
//
//
//         // 持久化到 localStorage
//         localStorage.setItem('chargeData', JSON.stringify(this.data));
//
//         console.log('跳动的数据：', this.data);
//         // 通知当前页面更新
//         this.onUpdate?.(this.data);
//     }
//     //单刷昨日统计
//     jumpOrder(){
//         this.data.orders += 1;
//         this.data.users = this.data.orders;
//         this.data.chargeUsers = this.data.orders;
//
//         // 持久化到 localStorage
//         localStorage.setItem('chargeData', JSON.stringify(this.data));
//
//         console.log('更新订单数：', this.data.users);
//         // 通知当前页面更新
//         this.onUpdate?.(this.data);
//     }
//
// }
//
// // 全局实例：所有页面共享同一个管理器
// window.dataManager = new DataManager();